using System;
using System.Collections.Generic;
using Domain.Entities;

namespace Domain.Repositories
{
    public interface IUserRepository:IRepository<User>
    {
        User GetUserByName(string userName, string appName);
        string GetUserNameByEMail(string EMail, string appName);
        List<User> GetAllUsers(int pageIndex, int pageSize, string appName);
        List<User> FindUsersByEMail(string email, int pageIndex, int pageSize, string appName);
        List<User> FindUsersByName(string userName, int pageIndex, int pageSize, string appName);
        int GetNumberOfUsersOnline(DateTime compareTime, string appName);
        bool IsAdmin(User candidate);
        void Update(List<User> users);
    }
}
